Apollo started out as a MP3-player. The main purpose for creating
this player is that I wanted to learn Windows coding. MP3-player
seemed a nice project since I have a general interest in players.
I first started the project in the summer of 1997 but I had to do my
compulsory military service so Apollo was delayed one full year.
Since then Apollo has become a more general purpose player.
It is recognized by its outstanding MP3 decoding quality, powerful
continuous playback support and advanced playlist capabilities.
It supports different file formats through so called input plug-ins.
Writing an input plug-ins is rather straight forward (see the
plug-ins page at
Apollo homepage
for more info) and thus Apollo can be easily made to support new audio
formats. The player routines provide continuous playback or even a
crossfade between tracks on all supported formats and with all
output types (standard Wave Out, DirectSound and WAV file output).
It is possible to direct the output into a WAV file, thus making
it possible, for instance, to decode MP3s for writing them onto a CD.
The player routines also provide a realtime 16-band equalizer for all
file types.
Currently Apollo ships with two input plug-ins: Apollo MPEG
decoder and Apollo WAV decoder. The MPEG decoder is capable of
handling both MPEG-1 and MPEG-2 audio layer 2 and 3 files (i.e. MP2-
and MP3-files). Also Xing VBR MP3s are supported. The MPEG decoder
is generally thought to be one of the best as far as sound quality
is concerned. The WAV decoder supports RIFF WAV files containing PCM
or Microsoft ADPCM coded data. Both plug-ins support Internet streaming.
Apollo also provides support for other type of plug-ins, namely
visualization, digital signal processing (DSP) and general purpose
plug-ins. Their formats are identical with the corresponding
Winamp plug-ins.
Thus all existing Winamp plug-ins of these three categories
should work with Apollo.
Apollo is perhaps best recognized by its playlist oriented interface.
Playlists can be created and modified with standard Windows methods
such as drag'n'drop and context menus. The main playlist will be shown
as a tree, which may contain nested playlists. This makes it possible
to have multiple playlist files open at once, yet having the possibility
to handle them as separate entities.
The playlist system will retrieve ID3 and ID3v2 tag information for
not only MP3 files but for all supported formats. Based on the tag
information — along with common track properties — it is
possible to create random entries into playlists. This means that instead
of inserting a track into your playlist, you can insert an entry which
sets conditions for the track to be played. When the player encounters
such an entry while playing the playlist, it picks the track to be played
randomly according to the conditions. These so called advanced playlists
along with the continuous playback and crossfading make Apollo a
considerable choice for some more demanding tasks. There are, for instance,
some dance clubs and radio stations that are based on Apollo.